home *** CD-ROM | disk | FTP | other *** search
- /* RSDEMO: Demonstrates REXXSGML use by printing some data returned by
- ARCSGML. (Prints garbage if no parameter specified.)
- Usage: REXXSGML RSDEMO SGMLfile
- */
- ARG x
- SAY "PROCESS" x
- "INIT" x
- "START_PASS"
- DO UNTIL sgml_event = 'EOD'
- "NEXT"
- SAY
- SAY sgml_event
- SELECT
- WHEN sgml_event = 'NDATA' THEN
- DO
- SAY 'Data =' sgml_data
- SAY 'Ename =' SGML_NDATA.ENAME
- SAY 'SYSID =' SGML_NDATA.SYSID
- SAY 'Dcnnm =' SGML_NDATA.DCNNM
- SAY 'Nsys =' SGML_NDATA.NSYS
- SAY 'Attribute count =' sgml_ndata.alcnt
-
- alisttemp = sgml_ndata.alist
- SAY 'Attr list =' alisttemp
-
- DO WHILE alisttemp ^= ''
- PARSE VAR alisttemp aname alisttemp
- SAY 'Attr value (' || aname || ') =' sgml_ndata.aname.value
- SAY 'Attr type (' || aname || ') =' sgml_ndata.aname.type
- SAY 'Attr data (' || aname || ') =' sgml_ndata.aname.data
- SAY 'Attr status (' || aname || ') =' sgml_ndata.aname.status
- END
-
- END
- WHEN POS('DATA', sgml_event) > 0 THEN
- SAY 'Data =' sgml_data
- WHEN sgml_event = 'PI' THEN
- SAY 'Data =' sgml_data
- WHEN sgml_event = 'NON_SGML' THEN
- SAY 'Data =' sgml_data
- WHEN sgml_event = 'START_TAG' | sgml_event = 'END_TAG' THEN
- DO
-
- i = sgml_tag_level;
-
- SAY 'Tag =' sgml_data
- SAY 'Tag level =' i
-
- IF sgml_event = 'END_TAG' THEN
- i = i + 1;
-
- SAY 'Tag stack (' || i ||') =' sgml_tag.i.gi
-
- IF sgml_event = 'START_TAG' THEN
- DO
- SAY 'Attribute (' || i ||') =' sgml_tag.i.alcnt
-
- alisttemp = sgml_tag.i.alist
- SAY 'Attr list (' || i ||') =' alisttemp
-
- DO WHILE alisttemp ^= ''
- PARSE VAR alisttemp aname alisttemp
- SAY 'Attr value (' || i || ',' aname || ') =' ,
- sgml_tag.i.aname.value
- SAY 'Attr type (' || i || ',' aname || ') =' ,
- sgml_tag.i.aname.type
- SAY 'Attr data (' || i || ',' aname || ') =' ,
- sgml_tag.i.aname.data
- SAY 'Attr status (' || i || ',' aname || ') =' ,
- sgml_tag.i.aname.status
- END
-
- END
-
- END
- OTHERWISE
- NOP
- END
- SAY
- SAY 'Press "Enter" to continue, "Ctrl-Break Enter" to end'
- PULL .
- END
- 'END_RUN'
- SAY sgml_data "Message(s) produced"